package main.java.tablero;

import java.lang.reflect.Array;
import java.util.Map;
import java.util.Vector;

import main.java.fases.Jugador;




public class Exploracion {

	/**
	 * @uml.property  name="inicio"
	 */
	private boolean inicio;

	/**
	 * Getter of the property <tt>inicio</tt>
	 * @return  Returns the inicio.
	 * @uml.property  name="inicio"
	 */
	public boolean isInicio() {
		return inicio;
	}

	/**
	 * Setter of the property <tt>inicio</tt>
	 * @param inicio  The inicio to set.
	 * @uml.property  name="inicio"
	 */
	public void setInicio(boolean inicio) {
		this.inicio = inicio;
	}

	/**
	 * @uml.property  name="dificultadAcumulada"
	 */
	private Integer dificultadAcumulada;
	private Integer marcadorMasAlto;

	/**
	 * Getter of the property <tt>dificultadAcumulada</tt>
	 * @return  Returns the dificultadAcumulada.
	 * @uml.property  name="dificultadAcumulada"
	 */
	public Integer getDificultadAcumulada() {
		return dificultadAcumulada;
	}

	/**
	 * Setter of the property <tt>dificultadAcumulada</tt>
	 * @param dificultadAcumulada  The dificultadAcumulada to set.
	 * @uml.property  name="dificultadAcumulada"
	 */
	public void setDificultadAcumulada(int dificultadAcumulada) {
		this.dificultadAcumulada = dificultadAcumulada;
	}

	/**
	 * @uml.property  name="mapa1"
	 */
	private Map<Integer, Integer> mapa1;

	/**
	 * Getter of the property <tt>mapa1</tt>
	 * @return  Returns the mapa1.
	 * @uml.property  name="mapa1"
	 */
	public Map<Integer, Integer> getMapa1() {
		return mapa1;
	}

	/**
	 * Setter of the property <tt>mapa1</tt>
	 * @param mapa1  The mapa1 to set.
	 * @uml.property  name="mapa1"
	 */
	public void setMapa1(Map<Integer,Integer> mapa1) {
		this.mapa1 = mapa1;
	}

	/**
	 * @uml.property  name="mapa2"
	 */
	private Map<Integer, String> mapa2;

	/**
	 * Getter of the property <tt>mapa2</tt>
	 * @return  Returns the mapa2.
	 * @uml.property  name="mapa2"
	 */
	public Map<Integer, String> getMapa2() {
		return mapa2;
	}

	/**
	 * Setter of the property <tt>mapa2</tt>
	 * @param mapa2  The mapa2 to set.
	 * @uml.property  name="mapa2"
	 */
	public void setMapa2(Map<Integer, String> mapa2) {
		this.mapa2 = mapa2;
	}
	
	@SuppressWarnings("unused")
	private Map<Jugador, Integer> marcadores;
	
	public Exploracion(){
		dificultadAcumulada = 0;
		marcadorMasAlto = 0;
		
		mapa1.put(0, 0); mapa1.put(1, 1); mapa1.put(2, 1); mapa1.put(3, 2); mapa1.put(4, 2); 
		mapa1.put(5, 3); mapa1.put(6, 3); mapa1.put(7, 4); mapa1.put(8, 4); mapa1.put(9, 5); 
		mapa1.put(10, 5); mapa1.put(11, 6); mapa1.put(12, 6); mapa1.put(13, 7); mapa1.put(14, 7);
		mapa1.put(15, 8); mapa1.put(16, 8); mapa1.put(17, 9); mapa1.put(18, 9); mapa1.put(19, 10); 
		mapa1.put(20, 10);
		
		mapa2.put(0, "costa"); mapa2.put(1, "costa"); mapa2.put(2, "costa"); mapa2.put(3, "costa"); mapa2.put(4, "costa"); 
		mapa2.put(5, "costa"); mapa2.put(6, "costa"); mapa2.put(7, "interior"); mapa2.put(8, "interior"); mapa2.put(9, "interior"); 
		mapa2.put(10, "interior"); mapa2.put(11, "interior"); mapa2.put(12, "interior"); mapa2.put(13, "interior"); mapa2.put(14, "corazon");
		mapa2.put(15, "corazon"); mapa2.put(16, "corazon"); mapa2.put(17, "corazon"); mapa2.put(18, "corazon"); mapa2.put(19, "corazon"); 
		mapa2.put(20, "corazon");
		
	}

	/**
	 * @uml.property  name="tablero"
	 * @uml.associationEnd  
	 */
	private Tablero tablero;

	/**
	 * Getter of the property <tt>tablero</tt>
	 * @return  Returns the tablero.
	 * @uml.property  name="tablero"
	 */
	public Tablero getTablero() {
		return tablero;
	}

	/**
	 * Setter of the property <tt>tablero</tt>
	 * @param tablero  The tablero to set.
	 * @uml.property  name="tablero"
	 */
	public void setTablero(Tablero tablero) {
		this.tablero = tablero;
	}

	/**
	 * @uml.property  name="puestoOcupado"
	 */
	private Array puestoOcupado[];

	/** 
	 * Getter of the property <tt>puesto</tt>
	 * @return  Returns the puesto.
	 * @uml.property  name="puestoOcupado"
	 */
	public Array[] getPuestoOcupado() {
		return puestoOcupado;
	}

	/** 
	 * Setter of the property <tt>puesto</tt>
	 * @param puesto  The puesto to set.
	 * @uml.property  name="puestoOcupado"
	 */
	public void setPuestoOcupado(Array[] puestoOcupado) {
		this.puestoOcupado = puestoOcupado;
	}

	/**
	 * @uml.property  name="posicionesJugadores"
	 */
	private Vector<Jugador> posicionesJugadores = new Vector<Jugador>();

	public void agregarJugador(Jugador j){
		posicionesJugadores.add(j);
	}

	/**
	 * Getter of the property <tt>posicionesJugadores</tt>
	 * @return  Returns the posicionesJugadores.
	 * @uml.property  name="posicionesJugadores"
	 */
	public Vector<Jugador>  getPosicionesJugadores() {
		return posicionesJugadores;
	}

	/**
	 * Setter of the property <tt>posicionesJugadores</tt>
	 * @param posicionesJugadores  The posicionesJugadores to set.
	 * @uml.property  name="posicionesJugadores"
	 */
	public void setPosicionesJugadores(Vector<Jugador>  posicionesJugadores) {
		this.posicionesJugadores = posicionesJugadores;
	}

	public void setMarcadorMasAlto(Integer marcadorMasAlto) {
		this.marcadorMasAlto = marcadorMasAlto;
	}

	public Integer getMarcadorMasAlto() {
		return marcadorMasAlto;
	}
	
	

}
